<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <script>
            var isValid = function (s) {
                let stack = []
                let leftStr = '([{'
                let rightStr = ')]}'
                function isPali(leftChar, rightChar) {
                    if (leftChar == '(' && rightChar == ')') return true
                    if (leftChar == '{' && rightChar == '}') return true
                    if (leftChar == '[' && rightChar == ']') return true
                    return false
                }
                for (let i = 0; i < s.length; i++) {
                    if (leftStr.includes(s[i])) {
                        stack.push(s[i])
                    } else {
                        let char = stack.pop()
                        if (!isPali(char, s[i])) {
                            return false
                        }
                    }
                }
                if (stack.length) return false
                return true
            }
        </script>
    </body>
</html>
